home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Run Magazine ReRun: Game Pak
/
rerun-gamepak
/
shell game
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
2KB
|
87 lines
100 rem ye olde shell game by sullivan
110 def fn d(n)=int(rnd(1)*n)
120 j=rnd(-ti): a=15
130 print chr$(14)
140 goto 440
150 rem print title
160 print "[147]" tab(a) "[211][200][197][204][204] [199][193][205][197]" u$
170 a=15: u$="": return
180 rem get skill level
190 poke z,p: print
200 print tab(10)"[211]kill [204]evel (1-9): ";
210 gosub 330: b=n: k=120+((9-b)^2)*5
220 for i=1 to r: next: return
230 rem delay
240 for i=1 to k: next: return
250 rem shell layout
260 for i=0 to 8
270 j=int(i/3)
280 b(i)=1241+80*j+3*(i-j*3)
290 poke b(i)+c,1
300 next i
310 return
320 rem numeral input
330 g=1-g
340 for j=1 to 20
350 if g=1 then print "";
360 print "?[157][146]";
370 get q$
380 n=val(q$): if n>0 goto 410
390 next j
400 goto 330
410 print "[157]" n ""
420 return
430 rem mainline
440 c=54272: e=160: f=170: r=700
450 h=1484: z=214: p=8: gosub 160
460 gosub 190: s=0: p=21
470 u$=": [204]evel"+str$(b): a=10
480 gosub 160: gosub 260: poke c+h,1
490 u=fn d(9)
500 v=fn d(9)
510 if v=u goto 500
520 w=fn d(9)
530 if w=u or w=v goto 520
540 for i=0 to 8
550 a(i)=e
560 if i=u or i=v or i=w then a(i)=f
570 poke b(i),a(i)
580 next i
590 for i=1 to h: next
600 poke b(u),e:poke b(v),e:poke b(w),e
610 for i=1 to r: next
620 m=fn d(2)+8
630 for j=1 to m
640 x=fn d(9): poke b(x),32
650 t=a(x): poke h,e: gosub 240
660 y=fn d(9): if y=x goto 660
670 poke b(y),32: a(x)=a(y)
680 for i=1 to 120: next
690 poke b(x),e: gosub 240
700 poke h,32: poke b(y),e
710 a(y)=t: gosub 240
720 next j
730 for i=0 to 8
740 poke b(i),177+i
750 next i
760 poke z,11: print
770 for i=1 to 3
780 print tab(18) "*[146] = ?"
790 next i
800 poke z,11: print
810 for i=1 to 3
820 print tab(22);
830 gosub 330
840 if a(n-1)>0 goto 860
850 print "[145][145]";: goto 820
860 s=s-(a(n-1)=f): a(n-1)=-a(n-1)
870 next i
880 for i=0 to 8
890 if abs(a(i))=f then poke b(i),f
900 next i
910 print "" tab(14) s "out of 3!"
920 print tab(14) "[193][199][193][201][206][160][160]([217]/[206])?";
930 get q$: if q$="y" goto 460
940 if q$<>"n" goto 930
950 gosub 160: print